const person = {
    name: 'zhangsan',
    get aliasName() { //这里是一个getter方法
        return this.name + "handsome";
    }
};

// console.log(person.name,person.aliasName);

let proxyPerson = new Proxy(person,{
    get(target,key,receiver){ //receiver是代理对象
        console.log(`getting ${key}`);
        // return target[key]; //这中方式不会触发name的代理，也就是name是直接走的person获取没有走proxy
        return Reflect.get(target,key,receiver); //这种方式会触发name的代理，导致 getting触发两次，这就是区别
    }
});

console.log(proxyPerson.aliasName);